In a client-server system, there are typically multiple client devices communicating with one or more servers. One service provided by client-server systems is the ability to synchronize data between a client device and a server, and between multiple client devices via a server. This may be desirable when a single user utilizes multiple client devices, such as a laptop computer and desktop computer. The server may be used to promote changes to data from one client device to another client device, thereby avoiding the need for a user to make the same change multiple times. In some cases, however, a client device may need to maintain synchronization with more than one server. This may complicate synchronization operations, since one synchronization operation may potentially interfere with another synchronization operation, one synchronization operation may be slower than another synchronization operation, one synchronization operation may have connectivity while the other does not, and other reasons. Consequently, there may be a need for improved synchronization techniques for a device or network.